package src.lshz.servlet;

import org.apache.commons.lang3.RandomStringUtils;
import src.lshz.JdbcUtils;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import java.io.IOException;

@WebServlet(urlPatterns = "/goods/lshzsave")
@MultipartConfig(
		// 上传的文件保存的具体位置
		location = "E:/Git/upload-images",
		// 最大支持的文件上限（单位：字节）
		maxFileSize = 100 * 1024 * 1024,
		// 最大支持的请求上限（单位：字节），要求：maxRequestSize >= maxFileSize
		maxRequestSize = 104857600
)
public class GoodsSaveServlet extends HttpServlet {
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		String name = req.getParameter("n");
		String price = req.getParameter("p");
		// 获取来自前端提交的图片文件
		Part image = req.getPart("i");
		// 获取来自前端提交的图片的原始名称
		//String fileName = image.getSubmittedFileName();
		String cd = image.getHeader("Content-Disposition");//截取不同类型的文件需要自行判断
		String fileName = cd.substring(cd.lastIndexOf("=")+2, cd.length()-1);
		// 将名称以 . 进行切割
		String[] strings = fileName.split("\\.");
		// 获取文件的后缀名
		String suffix = strings[1];
		// 为上传的图片设置新名称
		String newname = RandomStringUtils.randomAlphabetic(10) + "." + suffix;
		// 将提交的图片文件保存到磁盘
		image.write(newname);

		String sql="INSERT INTO goods ('name',price,image) VALUES(?,?,?)";
		JdbcUtils.modify(sql,name,price,newname);
		resp.sendRedirect("/lshz/goods-list.jsp");
	}
}